package m1;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Producer {
    public static void main(String[] args) throws IOException, TimeoutException {
        //1. 连接服务器
        ConnectionFactory f = new ConnectionFactory();
        f.setHost("192.168.64.140");
        f.setPort(5672);
        f.setUsername("admin");
        f.setPassword("admin");
        Channel c = f.newConnection().createChannel();

        //2. 在服务器上创建helloworld 队列
        // 如果队列在服务器上已经存在,不会重复创建
        /*
        参数:
            1. 队列名
            2. 是否是持久队列(在系统重启后, 非持久队列会消失)
            3. 是否是排他队列,独占队列(非独占队列可以有多个消费者共享)
            4. 是否自动删除
         */
        c.queueDeclare("helloworld",false,false,false,null);

        //3. 发送消息
        /*
        参数:
            1. 空串是默认的交换机
            2. 对消息设置更多的属性参数
         */
        c.basicPublish("","helloworld",null,"Hello world!".getBytes());
        //4. 断开连接 (可选)
        c.close();
        System.out.println("消息已发送");
    }
}
